package com.apis.javacommon.base;


import java.util.List;

/**
 * DAO基础接口
 * 
 *
 */
public interface BaseMapper<T,Q> {
	
	/**
	 * 插入
	 * @param po
	 */
	public Integer insert(T t);
	
	/**
	 * 根据ID号修改单个实体
	 * @param obj
	 */
	public Integer update(T t);
	
	/**
	 * 根据ID号删除单个实体物理删除
	 * @param id
	 */
	public void physicsDelete(Integer id);
	/**
	 * 根据ID号删除单个实体逻辑删除
	 * @param id
	 */
	public void logicDelete(Integer id);
	
	/**
	 * 根据ID号查询单个实体
	 * @param obj
	 */
	public T getById(Integer id);
	
	
	/**
	 * 由分页信息查询分页记录
	 * @param object
	 * @return
	 */
	public List<T> findPage(Q q);
	
	
	/**
	 * 为分页查询出记录总数
	 * @param object
	 * @return
	 */
	public Number findPagecount(Q q);
}
